1
Architecting Code for Scale and Readability
AI034 Lesson 7
00:00

When your codebase grows beyond a few hundred lines, it transforms from a simple script into a System. To prevent cognitive overload, Rust utilizes a hierarchical Module System to partition functionality into logical, manageable boundaries.

1. The Scalability Imperative

In a massive system, you shouldn't need to hold the entire architecture in your head. Modules allow you to isolate implementation details, exposing only what is necessary through a public API.

Package: restaurantCrate Rootsrc/lib.rs (Library)Crate Rootsrc/main.rs (Binary)

2. The Dual-Crate Architecture

A single Rust Package serves as the container. It can house both a library crate (src/lib.rs) for core logic and a binary crate (src/main.rs) for the executable entry point. This ensures a clean separation between what the system does and how the user interacts with it.

3. Organizational Foundations

By initializing with cargo new --lib, you prioritize modularity. In a Restaurant Management System, "Front of House" (hosting) and "Back of House" (cooking) are partitioned, allowing multiple front-ends (CLI, Web, Mobile) to share the same core library logic.

main.py
TERMINAL bash — 80x24
> Ready. Click "Run" to execute.
>